package com.lihao.wanandroid.data.model

import com.google.gson.annotations.SerializedName
import java.io.Serializable

/**
 * Created by lihao on 2020/5/20.
 * Describe:
 */
data class BasePageResponse<T>(
    var curPage: Int,
    var datas: ArrayList<T>,
    var offset: Int,
    var over: Boolean,
    var pageCount: Int,
    var size: Int,
    var total: Int
) : Serializable {

    /**
     * 数据是否为空
     */
    fun isEmpty(): Boolean {
        return (datas as List<*>).size == 0
    }

    /**
     * 是否为刷新
     */
    fun isRefresh(): Boolean {
        // 第一页该字段都为0
        return offset == 0
    }

    /**
     * 第一页且没有数据
     */
    fun isFirstEmpty(): Boolean {
        return isRefresh() && isEmpty()
    }

    /**
     * 是否还有更多数据
     */
    fun hasMore(): Boolean {
        return !over
    }

}